Чтение трендов для указанных переменных в заданном интервале времени в формате интервальной выборки
pult_apikey (string): API-ключ.
vars (array): Массив запросов. Каждый элемент массива описывает запрос тренда соответствующей переменной и должен иметь следующий формат:
[<varname>, <time1>, <time2>, <rows>, <true_time_intervals>]
varname (string): Глобальное имя переменной.
time1 (uint64, опционально): Начало интервала, timestamp c миллисекундами.
time2 (uint64, опционально): Конец интервала, timestamp c миллисекундами.
rows (int, опционально): Максимальное количество возвращаемых записей одного тренда. Если параметр не задан, rows берется равным параметру max_rows в настройках сервиса trends (3000 по умолчанию).
Если количество записей в диапазоне между time1 и time2 превышает rows, диапазон разбивается на rows отрезков и возвращаются только первые записи каждого отрезка (см. параметр true_time_intervals). Для получения гарантированного сплошного списка значений используйте API-функцию trends_log.
true_time_intervals (bool, опционально): Использовать равномерные временные интервалы. Параметр управляет методом выборки данных из временного ряда, если заданы time1 и time2.
Если true_time_intervals == false (по умолчанию), выборка записей из временного ряда производится равномерно по индексам, то есть:
time1 и time2 делится на rows равных отрезков.Если true_time_intervals == true, выборка записей из временного ряда производится равномерно по времени:
time1 и time2 делится на rows равных временных отрезков методом бинарного поиска.Объект со следующей структурой:
{
"time1": <начало интервала>,
"time2": <конец интервала>,
"data": [
[<записи по тренду для переменной_1>],
[<записи по тренду для переменной_2>],
...
[<записи по тренду для переменной_N>]
],
"total": [
<полное кол-во записей в интервале для переменной_1>,
<полное кол-во записей в интервале для переменной_2>,
...
<полное кол-во записей в интервале для переменной_N>
]
}
Запись по тренду представляет собой массив со следующими полями:
[<time>,<value>,<error>]
time (uint64): время изменения переменной (смещение в мс от time1)value (double): значение переменной в момент timeerror (int16): код ошибки в момент time (если есть)time1, но имеющие time < time1. Значение этих записей показывает значение переменных на момент time1.total показывает ПОЛНОЕ (а не возвращенное) количество записей в запрашиваемом диапазоне. total == возвращенное количество записей означает, что выборка записей была сплошной - возвращены все записи диапазона, без разбивки по отрезкам.Пример WS-запроса:
{
"jsonrpc":"2.0",
"id":1,
"method":"trends_read",
"params":{
"pult_apikey":"31269DCE4F983A31FBE8B88DF67CDAE2",
"vars":[
["P6_N6_temp_supply",1747148123000,1747148133000,1000,0],
["P6_N6_temp_outdoor",1747148123000,1747148133000,1000,0]
],
}
}
Пример WS-ответа:
{
"jsonrpc":"2.0",
"id":1,
"result":{
"time1": 1747148123000,
"time2": 1747148133000,
"data": [
[
[-448, 13.7],
[1976, 13.66],
[1044, 13.62],
...
],
[
[-1487, 12.87],
[3015, 12.88],
[1044, 12.87],
...
]
],
"total": [8, 8]
}
}
Пример HTTP-запроса: